NLP

A Survey of Adversarial Training

总结一下对抗训练的相关论文,重点是方法和应用。

Introduction

对抗训练(adversarial training)是增强神经网络鲁棒性的重要方式。在对抗训练的过程中,样本会被混合一些微小的扰动(改变很小,但是很可能造成误分类),然后使神经网络适应这种改变,从而对对抗样本具有鲁棒性。

在图像领域,采用对抗训练通常能提高鲁棒性,但是通常都会造成泛化性降低,也就是说,虽然对对抗样本的抵抗力提升了,但是有可能影响普通样本的分类能力。神奇的是,在语言模型领域却观察到不一致的结果——对抗训练既提高了鲁棒性也提高了泛化性。from https://zhuanlan.zhihu.com/p/104040055

我们首先来看一下对抗训练的一般性原理,对抗训练可以概括为如下的最大最小化公式:
$$\min _{\boldsymbol{\theta}} \mathbb{E}_{(\boldsymbol{Z}, y) \sim \mathcal{D}}\left[\max _{|\boldsymbol{\delta}| \leq \epsilon} L\left(f_{\boldsymbol{\theta}}(\boldsymbol{X}+\boldsymbol{\delta}), y\right)\right]$$

内层(中括号内)是一个最大化,其中 $X$ 表示样本的输入表示, $\delta$ 表示叠加在输入上的扰动,$f_{\boldsymbol{\theta}}()$ 是神经网络函数,$y$ 是样本的标签,$L\left(f_{\theta}(X+\delta), y\right)$ 则表示在样本 $X$ 上叠加一个扰动 $\delta$,再经过神经网络函数,与标签 $y$ 比较得到的损失。$max(L)$ 是优化目标,即寻找使损失函数最大的扰动,简单来讲就是添加的扰动要尽量让神经网络迷惑。外层就是对神经网络进行优化的最小化公式,即当扰动固定的情况下,我们训练神经网络模型使得在训练数据上的损失最小,也就是说,使模型具有一定的鲁棒性能够适应这种扰动。

这个公式是一个一般性的公式,并没有讲如何设计扰动。理想情况下,最好是能直接求出 $\delta$,但在神经网络模型中这是不太可行的。所以大家就提出各种各样的扰动的近似求解的方法。事实上,对抗训练的研究基本上就是在寻找合适的扰动,使得模型具有更强的鲁棒性。

现有的对抗训练工作可以分为以下几类:

  • gradient-based approaches:FGSM,FGM
  • iterative methods:DeepFooler
  • optimization-based methods:Intriguing properties of neural networks

gradient-based approaches

FGSM和FGM方法是Goodfellow等人分别在[EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES]和[ADVERSARIAL TRAINING METHODS FOR SEMI-SUPERVISED TEXT CLASSIFICATION]中提出的。思想很简单,就是让扰动 $\delta$ 的方向是沿着梯度提升的方向的,沿着梯度提升也就意味着让损失增大的最大。FGSM(Fast Gradient Sign Method)和FGM(Fast Gradient Method)的区别在于采用的归一化的方法不同,FGSM是通过Sign函数对梯度采取max归一化,FGM则采用的是 $L_{2}$ 归一化。max归一化是是说如果梯度某个维度上的值为正,则设为1;如果为负,则设为-1;如果为0,则设为0。$L_{2}$归一化则将梯度的每个维度的值除以梯度的$L_{2}$范数。 理论上$L_{2}$归一化更严格的保留了梯度的方向,但是max归一化则不一定和原始梯度的方向相同。

  • FGSM:$\quad \delta=\epsilon \cdot \operatorname{Sign}(g)$
  • FGM:$\delta=\epsilon \cdot\left(g /|g|_{2}\right)$

其中,$g=\nabla_{X}\left(L\left(f_{\theta}(X), y\right)\right)$,也就是损失函数L关于输入X的梯度,这个梯度在我们做神经网络优化的时候是很容易求出来的。当然两种方法都有个假设,就是损失函数是线性的或者至少是局部线性的。如果不是(局部)线性的,那梯度提升的方向就不一定是最优方向了。

_More details in https://zhuanlan.zhihu.com/p/104040055_

iterative methods

DeepFooler:Refer to https://zhuanlan.zhihu.com/p/38082988, http://mp.weixin.qq.com/s?__biz=MzIwMTc4ODE0Mw==&mid=2247510257&idx=2&sn=6c85bc4e003d3cd771bc981cb4fcf046&chksm=96ea7771a19dfe67b119047ae6d3d559802a324adcfd800fefd9da753ad71d07a9bd779d5ca3&mpshare=1&scene=24&srcid=0817xPNBstR3MD7eCcVVWB3x&sharer_sharetime=1597626909047&sharer_shareid=fe818a8d355a465a61f74d4dd3cf4b48#rd

optimization-based methods

这一算法的训练目标是在能够达到攻击目的(使分类器对对抗样本的分类出错)的前提下,最小化对抗样本和原始样本之间的距离。表达式为:
$$\underset{\boldsymbol{x}^{_}}{\arg \min } \lambda \cdot\left|\boldsymbol{x}^{_}-\boldsymbol{x}\right|_{p}-J\left(\boldsymbol{x}^{*}, y\right)$$

虚拟对抗攻击

Refer to https://zhuanlan.zhihu.com/p/66389797

Reference

  1. https://zhuanlan.zhihu.com/p/104040055
  2. Ru, D., Luo, Y., Qiu, L., Zhou, H., Li, L., Zhang, W., & Yu, Y. (2020). Active Sentence Learning by Adversarial Uncertainty Sampling in Discrete Space. _ArXiv, abs/2004.08046_.
  3. Adversarial examples in the physical world